package com.rc.saas.tenant.service.tenant;


import com.rc.saas.tenant.model.tenant.TenantUser;
import com.rc.saas.tenant.vo.tenant.TreeNodeModel;
import com.rc.saas.tenant.vo.tenant.TreeModel;

import java.util.List;

/**
 * Created by sven on 2018-04-22
 */
public interface TenantNavService {
    /**
     * 根据用户构建导航菜单
     * @param user
     * @return
     */
    //List<TreeModel<TreeMenu>> listMenuTree(TenantUser user);

    /**
     * 根据不同的用户类型生成不同的TOP菜单
     */
    List<TreeNodeModel> listTopMenuTreeByUser(TenantUser tenantUser);

    /**
     * 根据不同的用户类型生成不同的LEFT菜单
     */
    List<TreeModel<TreeNodeModel>> listLeftMenuTreeByUser(TenantUser tenantUser, Long topMenuId);

    TreeModel<TreeNodeModel> buildTree(TenantUser user);
    //
    TreeModel<TreeNodeModel> buildTree(TenantUser user, Long roleId);
}
